package com.sojson.project.entity.po;

import java.io.IOException;
import java.util.Date;
import java.util.List;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sojson.base.impl.BaseDto;
import com.sojson.util.DateUtil;
import com.sojson.util.token.TokenUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 教育经历表Bean
 * 
 * @author liu
 * @date 2021-04-26
 */
@ApiModel("教育经历表Bean")
public class EducationExperience extends BaseDto {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1619420845948L;

    @ApiModelProperty("用户ID")
    private String userId;
    @ApiModelProperty("学校")
    private String school;
    @ApiModelProperty("专业")
    private String specialty;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty("开始时间")
    private Date startTime;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    @ApiModelProperty("结束时间")
    private Date endTime;
    @ApiModelProperty("创建时间")
    private Date createAt;
    @ApiModelProperty("更新时间")
    private Date updateAt;
    /** ID集合 */
    private List<Integer> ids;
    /** 用户id集合 */
    private List<Integer> userIds;
    /** 教育经历表集合 */
    private List<EducationExperience> educationExperiences;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public EducationExperience() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 用户id
     */
    public String getUserId() {
        return userId;
    }

    /**
     * 设置 用户id
     */
    public void setUserId(String userId) {
        this.userId = userId;
    }

    /**
     * 获取 学校
     */
    public String getSchool() {
        return school;
    }

    /**
     * 设置 学校
     */
    public void setSchool(String school) {
        this.school = school;
    }

    /**
     * 获取 专业
     */
    public String getSpecialty() {
        return specialty;
    }

    /**
     * 设置 专业
     */
    public void setSpecialty(String specialty) {
        this.specialty = specialty;
    }

    /**
     * 获取 开始时间
     */
    public Date getStartTime() {
        return startTime;
    }

    /**
     * 设置 开始时间
     */
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    /**
     * 获取 结束时间
     */
    public Date getEndTime() {
        return endTime;
    }

    /**
     * 设置 结束时间
     */
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreateAt() {
        return createAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreateAt(Date createAt) {
        this.createAt = createAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdateAt() {
        return updateAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdateAt(Date updateAt) {
        this.updateAt = updateAt;
    }

    /**
     * 获取 ID集合
     */
    public List<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 ID集合
     */
    public void setIds(List<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取 用户id集合
     */
    public List<Integer> getUserIds() {
        return userIds;
    }

    /**
     * 设置 用户id集合
     */
    public void setUserIds(List<Integer> userIds) {
        this.userIds = userIds;
    }

    /**
     * 获取 教育经历表集合
     */
    public List<EducationExperience> getEducationExperiences() {
        return educationExperiences;
    }

    /**
     * 设置 教育经历表集合
     */
    public void setEducationExperiences(List<EducationExperience> educationExperiences) {
        this.educationExperiences = educationExperiences;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     * @throws IOException 
     */
    public void insertInit() throws IOException {
        setUserId(TokenUtil.getUserId());
        Date now = DateUtil.nowDate();
        setCreateAt(now);
        setUpdateAt(now);
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdateAt(now);
    }

}